# 1、递归函数
# 递归函数： 在函数的内部自己调用自己，并且有退出函数的出口。
# 应用：
# - 如果要遍历一个文件夹下面所有的文件，通常会使用递归来实现；
# - 在后续的算法课程中，很多算法都离不开递归，例如：快速排序。

# 递归案例：求一个整数的阶乘
def test(n: int) -> int:
    """
    求一个整数的阶乘
    :param n:
    :return:
    """
    # 函数终止条件
    if (n == 1):
        return 1
    return n * test(n - 1)
print(test(6))

